.\"                                      Hey, EMACS: -*- nroff -*-
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH RHINO 1 "February  12, 2005"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
.\" .nh        disable hyphenation
.\" .hy        enable hyphenation
.\" .ad l      left justify
.\" .ad b      justify to both left and right margins
.\" .nf        disable filling
.\" .fi        enable filling
.\" .br        insert line break
.\" .sp <n>    insert n+1 empty lines
.\" for manpage-specific macros, see man(7)
.SH NAME
rhino \- invokes the JavaScript shell for running scripts in batch mode or interactive

.SH SYNOPSIS
.B rhino
.I [options]
.I script_filename_or_url
.I [script_arguments]

.SH DESCRIPTION
This manual page documents briefly the
.B rhino
command.
.PP
.\" TeX users may be more comfortable with the \fB<whatever>\fP and
.\" \fI<whatever>\fP escape sequences to invode bold face and italics, 
.\" respectively.
\fBrhino\fP is a start script for the rhino JavaScript shell which provides a simple way 
to run scripts in batch mode or an interactive environment for exploratory programming.

.SH OPTIONS

.IP -e\ \fIscript_source\fP
Executes script_source as a JavaScript script.
.IP -f\ \fIscript_filename_or_url\fP
Reads script_filename_or_url content and execute it as a JavaScript script.
.IP -opt,\ -O\ \fIoptLevel\fP
Optimizes at level optLevel, which must be an integer between 0 and 9. 
.IP -version\ \fIversionNumber\fP
Specifies the language version to compile with. The string versionNumber must be one of 100, 110, 120, 130, or 140. See JavaScript Language Versions for more information on language versions. 

.SH PREDEFINED PROPERTIES

Scripts executing in the shell have access to some additional properties of the top-level object.

.IP arguments
The arguments object is an array containing the strings of all the arguments given at the command line when the shell was invoked.
.IP help()
Executing the help function will print usage and help messages.
.IP defineClass(\fIclassName\fP)
Define an extension using the Java class named with the string argument className. Uses ScriptableObject.defineClass() to define the extension.
.IP deserialize(\fIfilename\fP)
Restore from the specified file an object previously written by a call to serialize.
.IP load(\fI[filename,\&.\&.\&.]\fP)
Load JavaScript source files named by string arguments. If multiple arguments are given, each file is read in and executed in turn.
.IP loadClass(\fIclassName\fP)
Load and execute the class named by the string argument className. The class must be a class that implements the Script interface, as will any script compiled by jsc.
.IP print(\fI[expr\&.\&.\&.]\fP)
Evaluate and print expressions. Evaluates each expression, converts the result to a string, and prints it.
.IP readFile(\fIpath[,characterCoding]\fP)
Read given file and convert its bytes to a string using the specified character coding or default character coding if explicit coding argument is not given.
.IP readUrl(\fIurl[,characterCoding]\fP)
Open an input connection to the given string url, read all its bytes and convert them to a string using the specified character coding or default character coding if explicit coding argument is not given.
.IP runCommand(\fIcommandName,[arg,\&.\&.\&.][options]\fP)
Execute the specified command with the given argument and options as a separate process and return the exit status of the process. For details, see JavaDoc for org.mozilla.javascript.tools.shell.Global#runCommand.
.IP serialize(\fIobject,filename\fP)
Serialize the given object to the specified file.
.IP spawn(\fIfunctionOrScript\fP)
Run the given function or script in a different thread.
.IP sync(\fIfunction\fP)
creates a synchronized function (in the sense of a Java synchronized method) from an existing function. The new function synchronizes on the this object of its invocation.
.IP quit()
Quit shell. The shell will also quit in interactive mode if an end-of-file character is typed at the prompt.
.IP version(\fI[number]\fP)
Get or set JavaScript version number. If no argument is supplied, the current version number is returned. If an argument is supplied, it is expected to be one of 100, 110, 120, 130, or 140 to indicate JavaScript version 1.0, 1.1, 1.2, 1.3, or 1.4 respectively.

.SH SEE ALSO
The online documentation under
.UR http://www.mozilla.org/rhino/shell.html
.I http://www.mozilla.org/rhino/shell.html
.UE

.SH AUTHOR
This manual page was written by Wolfgang Baer <WBaer@gmx.de>.
